Software engineers should propose solutions, not just problems, and focus on team goals over just personal goals. Collaboration trumps code perfection. Software engineers should build relationships for influence, as building trust makes it easier to get buy-in and support for one’s ideas.
Monday, March 4, 2024Meetings are timesuck for devs. To be useful and effective, meetings should have an authoritative document to guide discussions. This makes sure that everyone is on the same page about the project's goals and complexities.
There are three fundamental laws of software complexity: systems inevitably degrade in design quality over time, successful systems create complexity through leaky abstractions to gain market share, and there is no upper limit to the complexity a system can reach. Most engineers end up working on poorly designed systems, which only grow more intricate and challenging to work on over time.